package com.jsptags.navigation.pager.parser;

import java.io.IOException;
import java.io.PrintStream;

// Referenced classes of package com.jsptags.navigation.pager.parser:
//			TagExportParserConstants, JavaCharStream, TokenMgrError, Token

public class TagExportParserTokenManager implements TagExportParserConstants {

	static final long jjbitVec0[] = { 0x1ff00000fffffffeL, -16384L,
			0xffffffffL, 0x600000000000000L };
	static final long jjbitVec2[] = { 0, 0, 0, 0xff7fffffff7fffffL };
	static final long jjbitVec3[] = { 0, (long) -1, (long) -1, (long) -1 };
	static final long jjbitVec4[] = { (long) -1, (long) -1, 65535L, 0 };
	static final long jjbitVec5[] = { (long) -1, (long) -1, 0, 0 };
	static final long jjbitVec6[] = { 0x3fffffffffffL, 0, 0, 0 };
	static final int jjnextStates[] = new int[0];
	public static final String jjstrLiteralImages[] = { "", "", "", "", "", "",
			"=", ",", ";", "number", "offset", "page", "pageNumber",
			"pageOffset", "itemCount", "items", "pageCount", "pages", "first",
			"firstItem", "last", "lastItem", "number", "page", "pageNumber",
			"pageUrl", "url", "", "", "" };
	public static final String lexStateNames[] = { "DEFAULT", "PAGER_STATE",
			"INDEX_STATE", "PAGE_STATE" };
	public static final int jjnewLexState[] = { -1, -1, -1, -1, -1, -1, -1, -1,
			-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
			-1, -1, -1, -1, -1 };
	static final long jjtoToken[] = { 0xfffffc1L };
	static final long jjtoSkip[] = { 62L };
	public PrintStream debugStream;
	private JavaCharStream input_stream;
	private final int jjrounds[];
	private final int jjstateSet[];
	protected char curChar;
	int curLexState;
	int defaultLexState;
	int jjnewStateCnt;
	int jjround;
	int jjmatchedPos;
	int jjmatchedKind;

	public void setDebugStream(PrintStream printstream) {
		debugStream = printstream;
	}

	private final int jjStopStringLiteralDfa_0(int i, long l) {
		switch (i) {
		default:
			return -1;
		}
	}

	private final int jjStartNfa_0(int i, long l) {
		return jjMoveNfa_0(jjStopStringLiteralDfa_0(i, l), i + 1);
	}

	private final int jjStopAtPos(int i, int j) {
		jjmatchedKind = j;
		jjmatchedPos = i;
		return i + 1;
	}

	private final int jjStartNfaWithStates_0(int i, int j, int k) {
		jjmatchedKind = j;
		jjmatchedPos = i;
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			return i + 1;
		}
		return jjMoveNfa_0(k, i + 1);
	}

	private final int jjMoveStringLiteralDfa0_0() {
		switch (curChar) {
		case 44: // ','
			return jjStopAtPos(0, 7);

		case 59: // ';'
			return jjStopAtPos(0, 8);

		case 61: // '='
			return jjStopAtPos(0, 6);

		case 45: // '-'
		case 46: // '.'
		case 47: // '/'
		case 48: // '0'
		case 49: // '1'
		case 50: // '2'
		case 51: // '3'
		case 52: // '4'
		case 53: // '5'
		case 54: // '6'
		case 55: // '7'
		case 56: // '8'
		case 57: // '9'
		case 58: // ':'
		case 60: // '<'
		default:
			return jjMoveNfa_0(0, 0);
		}
	}

	private final void jjCheckNAdd(int i) {
		if (jjrounds[i] != jjround) {
			jjstateSet[jjnewStateCnt++] = i;
			jjrounds[i] = jjround;
		}
	}

	private final void jjAddStates(int i, int j) {
		do
			jjstateSet[jjnewStateCnt++] = jjnextStates[i];
		while (i++ != j);
	}

	private final void jjCheckNAddTwoStates(int i, int j) {
		jjCheckNAdd(i);
		jjCheckNAdd(j);
	}

	private final void jjCheckNAddStates(int i, int j) {
		do
			jjCheckNAdd(jjnextStates[i]);
		while (i++ != j);
	}

	private final void jjCheckNAddStates(int i) {
		jjCheckNAdd(jjnextStates[i]);
		jjCheckNAdd(jjnextStates[i + 1]);
	}

	private final int jjMoveNfa_0(int i, int j) {
		int k = 0;
		jjnewStateCnt = 2;
		int l = 1;
		jjstateSet[0] = i;
		int i1 = 0x7fffffff;
		do {
			if (++jjround == 0x7fffffff)
				ReInitRounds();
			if (curChar < '@') {
				long l1 = 1L << curChar;
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
						if (curChar == '$') {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;

					case 1: // '\001'
						if ((0x3ff001000000000L & l1) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else if (curChar < '\200') {
				long l2 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if ((0x7fffffe87fffffeL & l2) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else {
				int j1 = curChar >> 8;
				int k1 = j1 >> 6;
				long l3 = 1L << (j1 & 0x3f);
				int i2 = (curChar & 0xff) >> 6;
				long l4 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if (jjCanMove_0(j1, k1, i2, l3, l4)) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			}
			if (i1 != 0x7fffffff) {
				jjmatchedKind = i1;
				jjmatchedPos = j;
				i1 = 0x7fffffff;
			}
			j++;
			if ((l = jjnewStateCnt) == (k = 2 - (jjnewStateCnt = k)))
				return j;
			try {
				curChar = input_stream.readChar();
			} catch (IOException ioexception) {
				return j;
			}
		} while (true);
	}

	private final int jjStopStringLiteralDfa_2(int i, long l) {
		switch (i) {
		case 0: // '\0'
			if ((l & 0x3c000L) != 0L) {
				jjmatchedKind = 27;
				return 1;
			} else {
				return -1;
			}

		case 1: // '\001'
			if ((l & 0x3c000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 1;
				return 1;
			} else {
				return -1;
			}

		case 2: // '\002'
			if ((l & 0x3c000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 2;
				return 1;
			} else {
				return -1;
			}

		case 3: // '\003'
			if ((l & 0x3c000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 3;
				return 1;
			} else {
				return -1;
			}

		case 4: // '\004'
			if ((l & 0x28000L) != 0L)
				return 1;
			if ((l & 0x14000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 4;
				return 1;
			} else {
				return -1;
			}

		case 5: // '\005'
			if ((l & 0x14000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 5;
				return 1;
			} else {
				return -1;
			}

		case 6: // '\006'
			if ((l & 0x14000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 6;
				return 1;
			} else {
				return -1;
			}

		case 7: // '\007'
			if ((l & 0x14000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 7;
				return 1;
			} else {
				return -1;
			}
		}
		return -1;
	}

	private final int jjStartNfa_2(int i, long l) {
		return jjMoveNfa_2(jjStopStringLiteralDfa_2(i, l), i + 1);
	}

	private final int jjStartNfaWithStates_2(int i, int j, int k) {
		jjmatchedKind = j;
		jjmatchedPos = i;
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			return i + 1;
		}
		return jjMoveNfa_2(k, i + 1);
	}

	private final int jjMoveStringLiteralDfa0_2() {
		switch (curChar) {
		case 44: // ','
			return jjStopAtPos(0, 7);

		case 59: // ';'
			return jjStopAtPos(0, 8);

		case 61: // '='
			return jjStopAtPos(0, 6);

		case 105: // 'i'
			return jjMoveStringLiteralDfa1_2(49152L);

		case 112: // 'p'
			return jjMoveStringLiteralDfa1_2(0x30000L);
		}
		return jjMoveNfa_2(0, 0);
	}

	private final int jjMoveStringLiteralDfa1_2(long l) {
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(0, l);
			return 1;
		}
		switch (curChar) {
		case 97: // 'a'
			return jjMoveStringLiteralDfa2_2(l, 0x30000L);

		case 116: // 't'
			return jjMoveStringLiteralDfa2_2(l, 49152L);

		case 98: // 'b'
		case 99: // 'c'
		case 100: // 'd'
		case 101: // 'e'
		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 114: // 'r'
		case 115: // 's'
		default:
			return jjStartNfa_2(0, l);
		}
	}

	private final int jjMoveStringLiteralDfa2_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(0, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(1, l1);
			return 2;
		}
		switch (curChar) {
		case 101: // 'e'
			return jjMoveStringLiteralDfa3_2(l1, 49152L);

		case 103: // 'g'
			return jjMoveStringLiteralDfa3_2(l1, 0x30000L);

		case 102: // 'f'
		default:
			return jjStartNfa_2(1, l1);
		}
	}

	private final int jjMoveStringLiteralDfa3_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(1, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(2, l1);
			return 3;
		}
		switch (curChar) {
		case 101: // 'e'
			return jjMoveStringLiteralDfa4_2(l1, 0x30000L);

		case 109: // 'm'
			return jjMoveStringLiteralDfa4_2(l1, 49152L);

		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		default:
			return jjStartNfa_2(2, l1);
		}
	}

	private final int jjMoveStringLiteralDfa4_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(2, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(3, l1);
			return 4;
		}
		switch (curChar) {
		case 67: // 'C'
			return jjMoveStringLiteralDfa5_2(l1, 0x14000L);

		case 115: // 's'
			if ((l1 & 32768L) != 0L)
				return jjStartNfaWithStates_2(4, 15, 1);
			if ((l1 & 0x20000L) != 0L)
				return jjStartNfaWithStates_2(4, 17, 1);
			break;
		}
		return jjStartNfa_2(3, l1);
	}

	private final int jjMoveStringLiteralDfa5_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(3, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(4, l1);
			return 5;
		}
		switch (curChar) {
		case 111: // 'o'
			return jjMoveStringLiteralDfa6_2(l1, 0x14000L);
		}
		return jjStartNfa_2(4, l1);
	}

	private final int jjMoveStringLiteralDfa6_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(4, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(5, l1);
			return 6;
		}
		switch (curChar) {
		case 117: // 'u'
			return jjMoveStringLiteralDfa7_2(l1, 0x14000L);
		}
		return jjStartNfa_2(5, l1);
	}

	private final int jjMoveStringLiteralDfa7_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(5, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(6, l1);
			return 7;
		}
		switch (curChar) {
		case 110: // 'n'
			return jjMoveStringLiteralDfa8_2(l1, 0x14000L);
		}
		return jjStartNfa_2(6, l1);
	}

	private final int jjMoveStringLiteralDfa8_2(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_2(6, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_2(7, l1);
			return 8;
		}
		switch (curChar) {
		case 116: // 't'
			if ((l1 & 16384L) != 0L)
				return jjStartNfaWithStates_2(8, 14, 1);
			if ((l1 & 0x10000L) != 0L)
				return jjStartNfaWithStates_2(8, 16, 1);
			break;
		}
		return jjStartNfa_2(7, l1);
	}

	private final int jjMoveNfa_2(int i, int j) {
		int k = 0;
		jjnewStateCnt = 2;
		int l = 1;
		jjstateSet[0] = i;
		int i1 = 0x7fffffff;
		do {
			if (++jjround == 0x7fffffff)
				ReInitRounds();
			if (curChar < '@') {
				long l1 = 1L << curChar;
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
						if (curChar == '$') {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;

					case 1: // '\001'
						if ((0x3ff001000000000L & l1) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else if (curChar < '\200') {
				long l2 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if ((0x7fffffe87fffffeL & l2) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else {
				int j1 = curChar >> 8;
				int k1 = j1 >> 6;
				long l3 = 1L << (j1 & 0x3f);
				int i2 = (curChar & 0xff) >> 6;
				long l4 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if (jjCanMove_0(j1, k1, i2, l3, l4)) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			}
			if (i1 != 0x7fffffff) {
				jjmatchedKind = i1;
				jjmatchedPos = j;
				i1 = 0x7fffffff;
			}
			j++;
			if ((l = jjnewStateCnt) == (k = 2 - (jjnewStateCnt = k)))
				return j;
			try {
				curChar = input_stream.readChar();
			} catch (IOException ioexception) {
				return j;
			}
		} while (true);
	}

	private final int jjStopStringLiteralDfa_3(int i, long l) {
		switch (i) {
		case 0: // '\0'
			if ((l & 0x7fc0000L) != 0L) {
				jjmatchedKind = 27;
				return 1;
			} else {
				return -1;
			}

		case 1: // '\001'
			if ((l & 0x7fc0000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 1;
				return 1;
			} else {
				return -1;
			}

		case 2: // '\002'
			if ((l & 0x4000000L) != 0L)
				return 1;
			if ((l & 0x3fc0000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 2;
				return 1;
			} else {
				return -1;
			}

		case 3: // '\003'
			if ((l & 0x3b00000L) != 0L)
				return 1;
			if ((l & 0x4c0000L) != 0L) {
				if (jjmatchedPos != 3) {
					jjmatchedKind = 27;
					jjmatchedPos = 3;
				}
				return 1;
			} else {
				return -1;
			}

		case 4: // '\004'
			if ((l & 0xc0000L) != 0L)
				return 1;
			if ((l & 0x3600000L) != 0L) {
				if (jjmatchedPos != 4) {
					jjmatchedKind = 27;
					jjmatchedPos = 4;
				}
				return 1;
			} else {
				return -1;
			}

		case 5: // '\005'
			if ((l & 0x400000L) != 0L)
				return 1;
			if ((l & 0x3280000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 5;
				return 1;
			} else {
				return -1;
			}

		case 6: // '\006'
			if ((l & 0x2000000L) != 0L)
				return 1;
			if ((l & 0x1280000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 6;
				return 1;
			} else {
				return -1;
			}

		case 7: // '\007'
			if ((l & 0x200000L) != 0L)
				return 1;
			if ((l & 0x1080000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 7;
				return 1;
			} else {
				return -1;
			}

		case 8: // '\b'
			if ((l & 0x1000000L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 8;
				return 1;
			}
			return (l & 0x80000L) == 0L ? -1 : 1;
		}
		return -1;
	}

	private final int jjStartNfa_3(int i, long l) {
		return jjMoveNfa_3(jjStopStringLiteralDfa_3(i, l), i + 1);
	}

	private final int jjStartNfaWithStates_3(int i, int j, int k) {
		jjmatchedKind = j;
		jjmatchedPos = i;
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			return i + 1;
		}
		return jjMoveNfa_3(k, i + 1);
	}

	private final int jjMoveStringLiteralDfa0_3() {
		switch (curChar) {
		case 44: // ','
			return jjStopAtPos(0, 7);

		case 59: // ';'
			return jjStopAtPos(0, 8);

		case 61: // '='
			return jjStopAtPos(0, 6);

		case 102: // 'f'
			return jjMoveStringLiteralDfa1_3(0xc0000L);

		case 108: // 'l'
			return jjMoveStringLiteralDfa1_3(0x300000L);

		case 110: // 'n'
			return jjMoveStringLiteralDfa1_3(0x400000L);

		case 112: // 'p'
			return jjMoveStringLiteralDfa1_3(0x3800000L);

		case 117: // 'u'
			return jjMoveStringLiteralDfa1_3(0x4000000L);
		}
		return jjMoveNfa_3(0, 0);
	}

	private final int jjMoveStringLiteralDfa1_3(long l) {
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(0, l);
			return 1;
		}
		switch (curChar) {
		case 97: // 'a'
			return jjMoveStringLiteralDfa2_3(l, 0x3b00000L);

		case 105: // 'i'
			return jjMoveStringLiteralDfa2_3(l, 0xc0000L);

		case 114: // 'r'
			return jjMoveStringLiteralDfa2_3(l, 0x4000000L);

		case 117: // 'u'
			return jjMoveStringLiteralDfa2_3(l, 0x400000L);

		case 98: // 'b'
		case 99: // 'c'
		case 100: // 'd'
		case 101: // 'e'
		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 115: // 's'
		case 116: // 't'
		default:
			return jjStartNfa_3(0, l);
		}
	}

	private final int jjMoveStringLiteralDfa2_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(0, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(1, l1);
			return 2;
		}
		switch (curChar) {
		case 103: // 'g'
			return jjMoveStringLiteralDfa3_3(l1, 0x3800000L);

		case 109: // 'm'
			return jjMoveStringLiteralDfa3_3(l1, 0x400000L);

		case 114: // 'r'
			return jjMoveStringLiteralDfa3_3(l1, 0xc0000L);

		case 115: // 's'
			return jjMoveStringLiteralDfa3_3(l1, 0x300000L);

		case 108: // 'l'
			if ((l1 & 0x4000000L) != 0L)
				return jjStartNfaWithStates_3(2, 26, 1);
			// fall through

		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		default:
			return jjStartNfa_3(1, l1);
		}
	}

	private final int jjMoveStringLiteralDfa3_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(1, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(2, l1);
			return 3;
		}
		switch (curChar) {
		case 98: // 'b'
			return jjMoveStringLiteralDfa4_3(l1, 0x400000L);

		case 101: // 'e'
			if ((l1 & 0x800000L) != 0L) {
				jjmatchedKind = 23;
				jjmatchedPos = 3;
			}
			return jjMoveStringLiteralDfa4_3(l1, 0x3000000L);

		case 115: // 's'
			return jjMoveStringLiteralDfa4_3(l1, 0xc0000L);

		case 116: // 't'
			if ((l1 & 0x100000L) != 0L) {
				jjmatchedKind = 20;
				jjmatchedPos = 3;
			}
			return jjMoveStringLiteralDfa4_3(l1, 0x200000L);

		case 99: // 'c'
		case 100: // 'd'
		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 114: // 'r'
		default:
			return jjStartNfa_3(2, l1);
		}
	}

	private final int jjMoveStringLiteralDfa4_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(2, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(3, l1);
			return 4;
		}
		switch (curChar) {
		case 73: // 'I'
			return jjMoveStringLiteralDfa5_3(l1, 0x200000L);

		case 78: // 'N'
			return jjMoveStringLiteralDfa5_3(l1, 0x1000000L);

		case 85: // 'U'
			return jjMoveStringLiteralDfa5_3(l1, 0x2000000L);

		case 101: // 'e'
			return jjMoveStringLiteralDfa5_3(l1, 0x400000L);

		case 116: // 't'
			if ((l1 & 0x40000L) != 0L) {
				jjmatchedKind = 18;
				jjmatchedPos = 4;
			}
			return jjMoveStringLiteralDfa5_3(l1, 0x80000L);
		}
		return jjStartNfa_3(3, l1);
	}

	private final int jjMoveStringLiteralDfa5_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(3, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(4, l1);
			return 5;
		}
		switch (curChar) {
		case 73: // 'I'
			return jjMoveStringLiteralDfa6_3(l1, 0x80000L);

		case 114: // 'r'
			if ((l1 & 0x400000L) != 0L)
				return jjStartNfaWithStates_3(5, 22, 1);
			else
				return jjMoveStringLiteralDfa6_3(l1, 0x2000000L);

		case 116: // 't'
			return jjMoveStringLiteralDfa6_3(l1, 0x200000L);

		case 117: // 'u'
			return jjMoveStringLiteralDfa6_3(l1, 0x1000000L);
		}
		return jjStartNfa_3(4, l1);
	}

	private final int jjMoveStringLiteralDfa6_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(4, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(5, l1);
			return 6;
		}
		switch (curChar) {
		case 101: // 'e'
			return jjMoveStringLiteralDfa7_3(l1, 0x200000L);

		case 109: // 'm'
			return jjMoveStringLiteralDfa7_3(l1, 0x1000000L);

		case 116: // 't'
			return jjMoveStringLiteralDfa7_3(l1, 0x80000L);

		case 108: // 'l'
			if ((l1 & 0x2000000L) != 0L)
				return jjStartNfaWithStates_3(6, 25, 1);
			// fall through

		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 114: // 'r'
		case 115: // 's'
		default:
			return jjStartNfa_3(5, l1);
		}
	}

	private final int jjMoveStringLiteralDfa7_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(5, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(6, l1);
			return 7;
		}
		switch (curChar) {
		case 98: // 'b'
			return jjMoveStringLiteralDfa8_3(l1, 0x1000000L);

		case 101: // 'e'
			return jjMoveStringLiteralDfa8_3(l1, 0x80000L);

		case 109: // 'm'
			if ((l1 & 0x200000L) != 0L)
				return jjStartNfaWithStates_3(7, 21, 1);
			// fall through

		case 99: // 'c'
		case 100: // 'd'
		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		default:
			return jjStartNfa_3(6, l1);
		}
	}

	private final int jjMoveStringLiteralDfa8_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(6, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(7, l1);
			return 8;
		}
		switch (curChar) {
		case 101: // 'e'
			return jjMoveStringLiteralDfa9_3(l1, 0x1000000L);

		case 109: // 'm'
			if ((l1 & 0x80000L) != 0L)
				return jjStartNfaWithStates_3(8, 19, 1);
			// fall through

		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		default:
			return jjStartNfa_3(7, l1);
		}
	}

	private final int jjMoveStringLiteralDfa9_3(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_3(7, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_3(8, l1);
			return 9;
		}
		switch (curChar) {
		case 114: // 'r'
			if ((l1 & 0x1000000L) != 0L)
				return jjStartNfaWithStates_3(9, 24, 1);
			break;
		}
		return jjStartNfa_3(8, l1);
	}

	private final int jjMoveNfa_3(int i, int j) {
		int k = 0;
		jjnewStateCnt = 2;
		int l = 1;
		jjstateSet[0] = i;
		int i1 = 0x7fffffff;
		do {
			if (++jjround == 0x7fffffff)
				ReInitRounds();
			if (curChar < '@') {
				long l1 = 1L << curChar;
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
						if (curChar == '$') {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;

					case 1: // '\001'
						if ((0x3ff001000000000L & l1) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else if (curChar < '\200') {
				long l2 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if ((0x7fffffe87fffffeL & l2) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else {
				int j1 = curChar >> 8;
				int k1 = j1 >> 6;
				long l3 = 1L << (j1 & 0x3f);
				int i2 = (curChar & 0xff) >> 6;
				long l4 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if (jjCanMove_0(j1, k1, i2, l3, l4)) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			}
			if (i1 != 0x7fffffff) {
				jjmatchedKind = i1;
				jjmatchedPos = j;
				i1 = 0x7fffffff;
			}
			j++;
			if ((l = jjnewStateCnt) == (k = 2 - (jjnewStateCnt = k)))
				return j;
			try {
				curChar = input_stream.readChar();
			} catch (IOException ioexception) {
				return j;
			}
		} while (true);
	}

	private final int jjStopStringLiteralDfa_1(int i, long l) {
		switch (i) {
		case 0: // '\0'
			if ((l & 15872L) != 0L) {
				jjmatchedKind = 27;
				return 1;
			} else {
				return -1;
			}

		case 1: // '\001'
			if ((l & 15872L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 1;
				return 1;
			} else {
				return -1;
			}

		case 2: // '\002'
			if ((l & 15872L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 2;
				return 1;
			} else {
				return -1;
			}

		case 3: // '\003'
			if ((l & 14336L) != 0L)
				return 1;
			if ((l & 1536L) != 0L) {
				if (jjmatchedPos != 3) {
					jjmatchedKind = 27;
					jjmatchedPos = 3;
				}
				return 1;
			} else {
				return -1;
			}

		case 4: // '\004'
			if ((l & 13824L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 4;
				return 1;
			} else {
				return -1;
			}

		case 5: // '\005'
			if ((l & 1536L) != 0L)
				return 1;
			if ((l & 12288L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 5;
				return 1;
			} else {
				return -1;
			}

		case 6: // '\006'
			if ((l & 12288L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 6;
				return 1;
			} else {
				return -1;
			}

		case 7: // '\007'
			if ((l & 12288L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 7;
				return 1;
			} else {
				return -1;
			}

		case 8: // '\b'
			if ((l & 12288L) != 0L) {
				jjmatchedKind = 27;
				jjmatchedPos = 8;
				return 1;
			} else {
				return -1;
			}
		}
		return -1;
	}

	private final int jjStartNfa_1(int i, long l) {
		return jjMoveNfa_1(jjStopStringLiteralDfa_1(i, l), i + 1);
	}

	private final int jjStartNfaWithStates_1(int i, int j, int k) {
		jjmatchedKind = j;
		jjmatchedPos = i;
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			return i + 1;
		}
		return jjMoveNfa_1(k, i + 1);
	}

	private final int jjMoveStringLiteralDfa0_1() {
		switch (curChar) {
		case 44: // ','
			return jjStopAtPos(0, 7);

		case 59: // ';'
			return jjStopAtPos(0, 8);

		case 61: // '='
			return jjStopAtPos(0, 6);

		case 110: // 'n'
			return jjMoveStringLiteralDfa1_1(512L);

		case 111: // 'o'
			return jjMoveStringLiteralDfa1_1(1024L);

		case 112: // 'p'
			return jjMoveStringLiteralDfa1_1(14336L);
		}
		return jjMoveNfa_1(0, 0);
	}

	private final int jjMoveStringLiteralDfa1_1(long l) {
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(0, l);
			return 1;
		}
		switch (curChar) {
		case 97: // 'a'
			return jjMoveStringLiteralDfa2_1(l, 14336L);

		case 102: // 'f'
			return jjMoveStringLiteralDfa2_1(l, 1024L);

		case 117: // 'u'
			return jjMoveStringLiteralDfa2_1(l, 512L);

		case 98: // 'b'
		case 99: // 'c'
		case 100: // 'd'
		case 101: // 'e'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 114: // 'r'
		case 115: // 's'
		case 116: // 't'
		default:
			return jjStartNfa_1(0, l);
		}
	}

	private final int jjMoveStringLiteralDfa2_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(0, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(1, l1);
			return 2;
		}
		switch (curChar) {
		case 102: // 'f'
			return jjMoveStringLiteralDfa3_1(l1, 1024L);

		case 103: // 'g'
			return jjMoveStringLiteralDfa3_1(l1, 14336L);

		case 109: // 'm'
			return jjMoveStringLiteralDfa3_1(l1, 512L);

		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		default:
			return jjStartNfa_1(1, l1);
		}
	}

	private final int jjMoveStringLiteralDfa3_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(1, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(2, l1);
			return 3;
		}
		switch (curChar) {
		case 98: // 'b'
			return jjMoveStringLiteralDfa4_1(l1, 512L);

		case 101: // 'e'
			if ((l1 & 2048L) != 0L) {
				jjmatchedKind = 11;
				jjmatchedPos = 3;
			}
			return jjMoveStringLiteralDfa4_1(l1, 12288L);

		case 115: // 's'
			return jjMoveStringLiteralDfa4_1(l1, 1024L);

		case 99: // 'c'
		case 100: // 'd'
		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 114: // 'r'
		default:
			return jjStartNfa_1(2, l1);
		}
	}

	private final int jjMoveStringLiteralDfa4_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(2, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(3, l1);
			return 4;
		}
		switch (curChar) {
		case 78: // 'N'
			return jjMoveStringLiteralDfa5_1(l1, 4096L);

		case 79: // 'O'
			return jjMoveStringLiteralDfa5_1(l1, 8192L);

		case 101: // 'e'
			return jjMoveStringLiteralDfa5_1(l1, 1536L);

		case 80: // 'P'
		case 81: // 'Q'
		case 82: // 'R'
		case 83: // 'S'
		case 84: // 'T'
		case 85: // 'U'
		case 86: // 'V'
		case 87: // 'W'
		case 88: // 'X'
		case 89: // 'Y'
		case 90: // 'Z'
		case 91: // '['
		case 92: // '\\'
		case 93: // ']'
		case 94: // '^'
		case 95: // '_'
		case 96: // '`'
		case 97: // 'a'
		case 98: // 'b'
		case 99: // 'c'
		case 100: // 'd'
		default:
			return jjStartNfa_1(3, l1);
		}
	}

	private final int jjMoveStringLiteralDfa5_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(3, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(4, l1);
			return 5;
		}
		switch (curChar) {
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 115: // 's'
		default:
			break;

		case 102: // 'f'
			return jjMoveStringLiteralDfa6_1(l1, 8192L);

		case 114: // 'r'
			if ((l1 & 512L) != 0L)
				return jjStartNfaWithStates_1(5, 9, 1);
			break;

		case 116: // 't'
			if ((l1 & 1024L) != 0L)
				return jjStartNfaWithStates_1(5, 10, 1);
			break;

		case 117: // 'u'
			return jjMoveStringLiteralDfa6_1(l1, 4096L);
		}
		return jjStartNfa_1(4, l1);
	}

	private final int jjMoveStringLiteralDfa6_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(4, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(5, l1);
			return 6;
		}
		switch (curChar) {
		case 102: // 'f'
			return jjMoveStringLiteralDfa7_1(l1, 8192L);

		case 109: // 'm'
			return jjMoveStringLiteralDfa7_1(l1, 4096L);

		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		default:
			return jjStartNfa_1(5, l1);
		}
	}

	private final int jjMoveStringLiteralDfa7_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(5, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(6, l1);
			return 7;
		}
		switch (curChar) {
		case 98: // 'b'
			return jjMoveStringLiteralDfa8_1(l1, 4096L);

		case 115: // 's'
			return jjMoveStringLiteralDfa8_1(l1, 8192L);

		case 99: // 'c'
		case 100: // 'd'
		case 101: // 'e'
		case 102: // 'f'
		case 103: // 'g'
		case 104: // 'h'
		case 105: // 'i'
		case 106: // 'j'
		case 107: // 'k'
		case 108: // 'l'
		case 109: // 'm'
		case 110: // 'n'
		case 111: // 'o'
		case 112: // 'p'
		case 113: // 'q'
		case 114: // 'r'
		default:
			return jjStartNfa_1(6, l1);
		}
	}

	private final int jjMoveStringLiteralDfa8_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(6, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(7, l1);
			return 8;
		}
		switch (curChar) {
		case 101: // 'e'
			return jjMoveStringLiteralDfa9_1(l1, 12288L);
		}
		return jjStartNfa_1(7, l1);
	}

	private final int jjMoveStringLiteralDfa9_1(long l, long l1) {
		if ((l1 &= l) == 0L)
			return jjStartNfa_1(7, l);
		try {
			curChar = input_stream.readChar();
		} catch (IOException ioexception) {
			jjStopStringLiteralDfa_1(8, l1);
			return 9;
		}
		switch (curChar) {
		case 115: // 's'
		default:
			break;

		case 114: // 'r'
			if ((l1 & 4096L) != 0L)
				return jjStartNfaWithStates_1(9, 12, 1);
			break;

		case 116: // 't'
			if ((l1 & 8192L) != 0L)
				return jjStartNfaWithStates_1(9, 13, 1);
			break;
		}
		return jjStartNfa_1(8, l1);
	}

	private final int jjMoveNfa_1(int i, int j) {
		int k = 0;
		jjnewStateCnt = 2;
		int l = 1;
		jjstateSet[0] = i;
		int i1 = 0x7fffffff;
		do {
			if (++jjround == 0x7fffffff)
				ReInitRounds();
			if (curChar < '@') {
				long l1 = 1L << curChar;
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
						if (curChar == '$') {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;

					case 1: // '\001'
						if ((0x3ff001000000000L & l1) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else if (curChar < '\200') {
				long l2 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if ((0x7fffffe87fffffeL & l2) != 0L) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			} else {
				int j1 = curChar >> 8;
				int k1 = j1 >> 6;
				long l3 = 1L << (j1 & 0x3f);
				int i2 = (curChar & 0xff) >> 6;
				long l4 = 1L << (curChar & 0x3f);
				do
					switch (jjstateSet[--l]) {
					case 0: // '\0'
					case 1: // '\001'
						if (jjCanMove_0(j1, k1, i2, l3, l4)) {
							if (i1 > 27)
								i1 = 27;
							jjCheckNAdd(1);
						}
						break;
					}
				while (l != k);
			}
			if (i1 != 0x7fffffff) {
				jjmatchedKind = i1;
				jjmatchedPos = j;
				i1 = 0x7fffffff;
			}
			j++;
			if ((l = jjnewStateCnt) == (k = 2 - (jjnewStateCnt = k)))
				return j;
			try {
				curChar = input_stream.readChar();
			} catch (IOException ioexception) {
				return j;
			}
		} while (true);
	}

	private static final boolean jjCanMove_0(int i, int j, int k, long l,
			long l1) {
		switch (i) {
		case 0: // '\0'
			return (jjbitVec2[k] & l1) != 0L;

		case 48: // '0'
			return (jjbitVec3[k] & l1) != 0L;

		case 49: // '1'
			return (jjbitVec4[k] & l1) != 0L;

		case 51: // '3'
			return (jjbitVec5[k] & l1) != 0L;

		case 61: // '='
			return (jjbitVec6[k] & l1) != 0L;
		}
		return (jjbitVec0[j] & l) != 0L;
	}

	public void ReInit(JavaCharStream javacharstream) {
		jjmatchedPos = jjnewStateCnt = 0;
		curLexState = defaultLexState;
		input_stream = javacharstream;
		ReInitRounds();
	}

	private final void ReInitRounds() {
		jjround = 0x80000001;
		for (int i = 2; i-- > 0;)
			jjrounds[i] = 0x80000000;

	}

	public void ReInit(JavaCharStream javacharstream, int i) {
		ReInit(javacharstream);
		SwitchTo(i);
	}

	public void SwitchTo(int i) {
		if (i >= 4 || i < 0) {
			throw new TokenMgrError("Error: Ignoring invalid lexical state : "
					+ i + ". State unchanged.", 2);
		} else {
			curLexState = i;
			return;
		}
	}

	private final Token jjFillToken() {
		Token token = Token.newToken(jjmatchedKind);
		token.kind = jjmatchedKind;
		String s = jjstrLiteralImages[jjmatchedKind];
		token.image = s != null ? s : input_stream.GetImage();
		token.beginLine = input_stream.getBeginLine();
		token.beginColumn = input_stream.getBeginColumn();
		token.endLine = input_stream.getEndLine();
		token.endColumn = input_stream.getEndColumn();
		return token;
	}

	public final Token getNextToken() {
		Object obj = null;
		int i = 0;
		do {
			try {
				curChar = input_stream.BeginToken();
			} catch (IOException ioexception) {
				jjmatchedKind = 0;
				Token token = jjFillToken();
				return token;
			}
			switch (curLexState) {
			case 0: // '\0'
				try {
					input_stream.backup(0);
					for (; curChar <= ' '
							&& (0x100003600L & 1L << curChar) != 0L; curChar = input_stream
							.BeginToken())
						;
				} catch (IOException ioexception1) {
					continue;
				}
				jjmatchedKind = 0x7fffffff;
				jjmatchedPos = 0;
				i = jjMoveStringLiteralDfa0_0();
				break;

			case 1: // '\001'
				try {
					input_stream.backup(0);
					for (; curChar <= ' '
							&& (0x100003600L & 1L << curChar) != 0L; curChar = input_stream
							.BeginToken())
						;
				} catch (IOException ioexception2) {
					continue;
				}
				jjmatchedKind = 0x7fffffff;
				jjmatchedPos = 0;
				i = jjMoveStringLiteralDfa0_1();
				break;

			case 2: // '\002'
				try {
					input_stream.backup(0);
					for (; curChar <= ' '
							&& (0x100003600L & 1L << curChar) != 0L; curChar = input_stream
							.BeginToken())
						;
				} catch (IOException ioexception3) {
					continue;
				}
				jjmatchedKind = 0x7fffffff;
				jjmatchedPos = 0;
				i = jjMoveStringLiteralDfa0_2();
				break;

			case 3: // '\003'
				try {
					input_stream.backup(0);
					for (; curChar <= ' '
							&& (0x100003600L & 1L << curChar) != 0L; curChar = input_stream
							.BeginToken())
						;
				} catch (IOException ioexception4) {
					continue;
				}
				jjmatchedKind = 0x7fffffff;
				jjmatchedPos = 0;
				i = jjMoveStringLiteralDfa0_3();
				break;
			}
			if (jjmatchedKind == 0x7fffffff)
				break;
			if (jjmatchedPos + 1 < i)
				input_stream.backup(i - jjmatchedPos - 1);
			if ((jjtoToken[jjmatchedKind >> 6] & 1L << (jjmatchedKind & 0x3f)) != 0L) {
				Token token1 = jjFillToken();
				if (jjnewLexState[jjmatchedKind] != -1)
					curLexState = jjnewLexState[jjmatchedKind];
				return token1;
			}
			if (jjnewLexState[jjmatchedKind] != -1)
				curLexState = jjnewLexState[jjmatchedKind];
		} while (true);
		int j = input_stream.getEndLine();
		int k = input_stream.getEndColumn();
		String s = null;
		boolean flag = false;
		try {
			input_stream.readChar();
			input_stream.backup(1);
		} catch (IOException ioexception5) {
			flag = true;
			s = i > 1 ? input_stream.GetImage() : "";
			if (curChar == '\n' || curChar == '\r') {
				j++;
				k = 0;
			} else {
				k++;
			}
		}
		if (!flag) {
			input_stream.backup(1);
			s = i > 1 ? input_stream.GetImage() : "";
		}
		throw new TokenMgrError(flag, curLexState, j, k, s, curChar, 0);
	}

	public TagExportParserTokenManager(JavaCharStream javacharstream) {
		debugStream = System.out;
		jjrounds = new int[2];
		jjstateSet = new int[4];
		curLexState = 0;
		defaultLexState = 0;
		input_stream = javacharstream;
	}

	public TagExportParserTokenManager(JavaCharStream javacharstream, int i) {
		this(javacharstream);
		SwitchTo(i);
	}

}
